home *** CD-ROM | disk | FTP | other *** search
-
- CD-ROM Technical Summary
- From Plastic Pits to "Fantasia"
-
- Andy Poggio
- March 1988
-
-
- Abstract
-
- This summary describes how information is encoded on Compact Disc (CD)
- beginning with the physical pits and going up through higher levels of
- data encoding to the structured multimedia information that is
- possible with programs like HyperCard. This discussion is much
- broader than any single standards document, e.g. the CD-Audio Red
- Book, while omitting much of the detail needed only by drive
- manufacturers.
-
-
- Salient Characteristics
-
- 1. High information density -- With the density achievable using
- optical encoding, the CD can contain some 540 megabytes of data on a
- disc less than five inches in diameter.
-
- 2. Low unit cost -- Because CDs are manufactured by a well-developed
- process similar to that used to stamp out LP records, unit cost in
- large quantities is less than two dollars.
-
- 3. Read only medium -- CD-ROM is read only; it cannot be written on
- or erased. It is an electronic publishing, distribution, and access
- medium; it cannot replace magnetic disks.
-
- 4. Modest random access performance -- Due to optical read head mass
- and data encoding methods, random access ("seek time") performance of
- CD is better than floppies but not as good as magnetic hard disks.
-
- 5. Robust, removable medium -- The CD itself is comprised mostly of,
- and completely coated by, durable plastic. This fact and the data
- encoding method allow the CD to be resistant to scratches and other
- handling damage. Media lifetime is expected to be long, well beyond
- that of magnetic media such as tape. In addition, the optical servo
- scanning mechanism allows CDs to be removed from their drives.
-
- 6. Multimedia storage -- Because all CD data is stored digitally, it
- is inherently multimedia in that it can store text, images, graphics,
- sound, and any other information expressed in digital form. Its only
- limit in this area is the rate at which data can be read from the
- disc, currently about 150 KBytes/second. This is sufficient for all
- but uncompressed, full motion color video.
-
-
- CD Data Hierarchy
-
- Storing data on a CD may be thought of as occurring through a data
- encoding hierarchy with each level built upon the previous one. At
- the lowest level, data is physically stored as pits on the disc. It
- is actually encoded by several low-level mechanisms to provide high
- storage density and reliable data recovery. At the next level, it
- organized into tracks which may be digital audio or CD-ROM. The High
- Sierra specification then defines a file system built on CD-ROM
- tracks. Finally, applications like HyperCard specify a content format
- for files.
-
-
- The Physical Medium
-
- The Compact Disc itself is a thin plastic disk some 12 cm. in
- diameter. Information is encoded in a plastic-encased spiral track
- contained on the top of the disk. The spiral track is read optically
- by a noncontact head which scans approximately radially as the disk
- spins just above it. The spiral is scanned at a constant linear
- velocity thus assuring a constant data rate. This requires the disc
- to rotate at a decreasing rate as the spiral is scanned from its
- beginning near the center of the disc to its end near the disc
- circumference.
-
- The spiral track contains shallow depressions, called pits, in a
- reflective layer. Binary information is encoded by the lengths of
- these pits and the lengths of the areas between them, called land.
- During reading, a low power laser beam from the optical head is
- focused on the spiral layer and is reflected back into the head. Due
- to the optical characteristics of the plastic disc and the wavelength
- of light used, the quantity of reflected light varies depending on
- whether the beam is on land or on a pit. The modulated, reflected
- light is converted to a radio frequency, raw data signal by a
- photodetector in the optical head.
-
-
- Low-level Data Encoding
-
- To ensure accurate recovery, the disc data must be encoded to optimize
- the analog-to-digital conversion process that the radio frequency
- signal must undergo. Goals of the low level data encoding include:
-
- 1. High information density. This requires encoding that makes the
- best possible use of the high, but limited, resolution of the laser
- beam and read head optics.
-
- 2. Minimum intersymbol interference. This requires making the
- minimum run length, i.e. the minimum number of consecutive zero bits
- or one bits, as large as possible.
-
- 3. Self-clocking. To avoid a separate timing track, the data should
- be encoded so as to allow the clock signal to be regenerated from the
- data signal. This requires limiting the maximum run length of the
- data so that data transitions will regenerate the clock.
-
- 4. Low digital sum value (the number of one bits minus the number of
- zero bits). This minimizes the low frequency and DC content of the
- data signal which permits optimal servo system operation.
-
- A straightforward encoding would be to simply to encode zero bits as
- land and one bits as pits. However, this does not meet goal (1) as
- well as the encoding scheme actually used. The current CD scheme
- encodes one bits as transitions from pit to land or land to pit and
- zero bits as constant pit or constant land.
-
- To meet goals (2) to (4), it is not possible to encode arbitrary
- binary data. For example, the integer 0 expressed as thirty-two bits
- of zero would have too long a run length to satisfy goal (3). To
- accommodate these goals, each eight-bit byte of actual data is encoded
- as fourteen bits of channel data. There are many more combinations of
- fourteen bits (16,384) than there are of eight bits (256). To encode
- the eight-bit combinations, 256 combinations of fourteen bits are
- chosen that meet the goals. This encoding is referred to as
- Eight-to-Fourteen Modulation (EFM) coding.
-
- If fourteen channel bits were concatenated with another set of
- fourteen channel bits, once again the above goals may not be met. To
- avoid this possibility, three merging bits are included between each
- set of fourteen channel bits. These merging bits carry no information
- but are chosen to limit run length, keep data signal DC content low,
- etc. Thus, an eight bit byte of actual data is encoded into a total
- of seventeen channel bits: fourteen EFM bits and three merging bits.
-
- To achieve a reliable self-clocking system, periodic synchronization
- is necessary. Thus, data is broken up into individual frames each
- beginning with a synchronization pattern. Each frame also contains
- twenty-four data bytes, eight error correction bytes, a control and
- display byte (carrying the subcoding channels), and merging bits
- separating them all. Each frame is arranged as follows:
-
- Sync Pattern 24 + 3 channel bits
- Control and Display byte 14 + 3
- Data bytes 12 * (14 + 3)
- Error Correction bytes 4 * (14 + 3)
- Data bytes 12 * (14 + 3)
- Error Correction bytes 4 * (14 + 3)
-
- TOTAL 588 channel bits
-
- Thus, 192 actual data bits (24 bytes) are encoded as 588 channel bits.
-
- Editorial: A CD physically has a single spiral track about 3 miles
- long. CDs spin at about 500 RPM when reading near the center down to
- about 250 RPM when reading near the circumference.
-
- Disc with a 'c' or disk with a 'k'? A usage has emerged for these
- terms: disk is used for eraseable disks (e.g. magnetic disks) while
- disc is used for read-only (e.g. CD-ROM discs). One would presumably
- call a frisbee a disc.
-
-
- First Level Error Correction
-
- Data errors can arise from production defects in the disk itself,
- defects arising from subsequent damage to the disk, or jarring during
- reading. A significant characteristic of these errors is that they
- often occur in long bursts. This could be due, for example, to a
- relatively wide mark on the disc that is opaque to the laser beam used
- to read the disc. A system with two logical components called the
- Cross Interleave Reed-Solomon Coding (CIRC) is employed for error
- correction. The cross interleave component breaks up the long error
- bursts into many short errors; the Reed-Solomon component provides the
- error correction.
-
- As each frame is read from the disc, it is first decoded from fourteen
- channel bits (the three merging bits are ignored) into eight-bit data
- bytes. Then, the bytes from each frame (twenty-four data bytes and
- eight error correction bytes) are passed to the first Reed-Solomon
- decoder which uses four of the error correction bytes and is able to
- correct one byte in error out of the 32. If there are no
- uncorrectable errors, the data is simply passed along. If there are
- errors, the data is marked as being in error at this stage of
- decoding.
-
- The twenty-four data bytes and four remaining error correction bytes
- are then passed through unequal delays before going through another
- Reed-Solomon decoder. These unequal delays result in an interleaving
- of the data that spreads long error bursts among many different passes
- through the second decoder. The delays are such that error bursts up
- to 450 bytes long can be completely corrected. The second
- Reed-Solomon decoder uses the last four error correction bytes to
- correct any remaining errors in the twenty-four data bytes. At this
- point, the data goes through a de-interleaving process to restore the
- correct byte order.
-
-
- Subcoding Channels and Blocks
-
- The eight-bit control and display byte in each frame carries the
- subcoding channels. A subcoding block consists of 98 subcoding bytes,
- and thus 98 of the 588-bit frames. A block then can contain 2352
- bytes of data. Seventy-five blocks are read each second. With this
- information, it is now straightforward to calculate that the CD data
- rate is in fact correct for CD digital audio (CD-DA):
-
- Required CD digital audio data rate: 44.1 K samples per second * 16
- bits per sample * 2 channels = 1,411,200 bits/sec.
-
- CD data rate: 8 bits per byte * 24 bytes per frame * 98 frames per
- subcoding block * 75 subcoding blocks per second = 1,411,200 bits/sec.
-
- The eight subcoding channels are labeled P through W and are encoded
- one bit for each channel in a control and display byte. Channel P is
- used as a simple music track separator. Channel Q is used for control
- purposes and encodes information like track number, track type, and
- location (minute, second, and frame number). During the lead-in track
- of the disc, channel Q encodes a table of contents for the disk giving
- track number and starting location. Standards have been proposed that
- would use the remaining channels for line graphics and ASCII character
- strings, but these are seldom used.
-
-
- Track Types
-
- Tracks can have two types as specified in the control bit field of
- subchannel Q. The first type is CD digital audio (CD-DA) tracks. The
- two-channel audio is sampled at 44.1 Khz with sixteen bit linear
- sampling encoded as twos complement numbers. The sixteen bit samples
- are separated into two eight-bit bytes; the bytes from each channel
- alternate on the disc. Variations for audio tracks include
- pre-emphasis and four track recording.
-
- The other type of track specified by the subchannel Q control bit
- field is the data track. These must conform to the CD-ROM standard
- described below. In general, a disc can have a mix of CD digital
- audio tracks and a CD-ROM track, but the CD-ROM track must come first.
-
- Editorial: This first level error correction (the only type used for
- CD Audio data) is extremely powerful. The CD specification allows for
- discs to have up to 220 raw errors per second. Every one of these
- errors is (almost always) perfectly corrected by the CIRC scheme for a
- net error rate of zero. For example, our tests using Apple's CD-ROM
- drive (which also plays audio) show that raw error rates are around
- 50-100 per second these days. Of course, these are perfectly
- corrected, meaning that the original data is perfectly recovered. We
- have tested flawed discs with raw rates up to 300 per second. Net
- errors on all of these discs? Zero! I would expect a typical audio
- CD player to perform similarly. Thus I expect this raw error rate to
- have no audible consequences.
-
- So why did I say "almost always" corrected above? Because a
- sufficiently bad flaw may produce uncorrectable errors. These very
- unusual errors are "concealed" by the player rather than corrected.
- Note that this concealment is likely to be less noticeable than even a
- single scratch on an LP. Such a flaw might be a really opaque finger
- smudge; CDs do merit careful handling. On the two (and only two)
- occasions I have found these, I simply sprayed on a little Windex
- glass cleaner and wiped it off using radial strokes. This restored
- the CDs to zero net errors.
-
- One can argue about the quality of the process of conversion of analog
- music to and from digital representation, but in the digital domain
- CDs are really very, very good.
-
-
- CD-ROM Data Tracks
-
- Each CD-ROM data track is divided into individually addressable blocks
- of 2352 data bytes, i.e. one subcoding block or 98 frames. A header
- in each block contains the block address and the mode of the block.
- The block address is identical to the encoding of minute, second, and
- frame number in subcode channel Q. The modes defined in the CD-ROM
- specification are:
-
- Mode 0 -- all data bytes are zero.
-
- Mode 1 -- (CD-ROM Data):
- Sync Field - 12 bytes
- Header Field - 4
- User Data Field - 2048
- Error Detection Code - 4
- Reserved - 8
- Error Correction - 276
-
- Mode 2 -- (CD Audio or Other Data):
- Sync Field - 12 bytes
- Header Field - 4
- User Data Field - 2048
- Auxiliary Data Field - 288
-
- Thus, mode 1 defines separately addressable, physical 2K byte data
- blocks making CD-ROM look at this level very similar to other digital
- mass storage devices.
-
-
- Second Level Error Correction
-
- An uncorrected error in audio data typically results in a brief, often
- inaudible click during listening at worst. An uncorrected error in
- other kinds of data, for example program code, may render a CD
- unusable. For this reason, CD-ROM defines a second level of error
- detection and error correction (EDC/ECC) for mode 1 data. The
- information for the EDC/ECC occupies most of the auxiliary data field.
-
- The error detection code is a cyclic redundancy check (CRC) on the
- sync, header, and user data. It occupies the first four bytes of the
- auxiliary data field and provides a very high probability that
- uncorrected errors will be detected. The error correction code is
- essentially the same as the first level error correction in that
- interleaving and Reed-Solomon coding are used. It occupies the final
- 276 bytes of the auxiliary data field.
-
- Editorial: This extra level of error correction for CD-ROM blocks is
- one of the many reasons that CD-ROM drives are much more expensive
- than consumer audio players. To perform this error correction quickly
- requires substantial extra computing power (sometimes a dedicated
- microprocessor) in the drive.
-
- This is also one reason that consumer players like the Magnavoxes
- which claim to be CD-ROM compatible (with their digital output jack on
- the back) are useless for that purpose. They have no way of dealing
- with the CD-ROM error correction. They also have no way for a
- computer to tell them where to seek.
-
- Another reason that CD-ROM drives are more expensive is that they are
- built to be a computer peripheral rather than a consumer device, i.e.
- like a combination race car/truck rather than a family sedan. One
- story, probably apocryphal but not far from the truth, has it that a
- major Japanese manufacturer tested some consumer audio players to
- simulate computer use: they made them seek (move the optical head)
- from the inside of the CD to the outside and back again. These are
- called maximum seeks. The story says they managed to do this for
- about 24 hours before they broke down. A CD-ROM drive needs to be
- several orders of magnitude more robust. Fast and strong don't come
- cheap.
-
-
- The High Sierra File System Standard
-
- Built on top of the addressable 2K blocks that the CD-ROM
- specification defines, the next higher level of data encoding is a
- file system that permits logical organization of the data on the CD.
- This can be a native file system like the Macintosh Hierarchical File
- System (HFS). Another alternative is the High Sierra (also known as
- the ISO 9660) file standard, recently approved by the National
- Information Standards Organization (NISO) and the International
- Standards Organization (ISO), which defines a file system carefully
- tuned to CD characteristics. In particular:
-
- 1. CDs have modest seek time and high capacity. As a result, the
- High Sierra standard makes tradeoffs that reduce the number of seeks
- needed to read a file at the expense of space efficiency.
-
- 2. CDs are read-only. Thus, concerns like space allocation, file
- deletion, and the like are not addressed in the specification.
-
- For High Sierra file systems, each individual CD is a volume. Several
- CDs may be grouped together in a volume set and there is a mechanism
- for subsequent volumes in a set to update preceding ones. Volumes can
- contain standard file structures, coded character set file structures
- for character encoding other than ASCII, or boot records. Boot
- records can contain either data or program code that may be needed by
- systems or applications.
-
-
- High Sierra Directories and Files
-
- The file system is a hierarchical one in which directories may contain
- files or other directories. Each volume has a root directory which
- serves as an ancestor to all other directories or files in the volume.
- This dictates an overall tree structure for the volume.
-
- A typical disadvantage in hierarchical systems is that to read a file
- (which must be a leaf of the hierarchy tree) given its full path name,
- it is necessary to begin at the root directory and search through each
- of its ancestral directories until the entry for the file is found.
- For example, given the path name
-
- Wine Regions:America:California:Mendocino
-
- three directories (the first three components of the path name) would
- need to be searched. Typically, a separate seek would be required for
- each directory. This would result in relatively poor performance.
-
- To avoid this, High Sierra specifies that each volume contain a path
- table in addition to its directories and files. The path table
- describes the directory hierarchy in a compact form that may be cached
- in computer memory for optimum performance. The path table contains
- entries for the volume's directories in a breadth-first order;
- directories with a common parent are listed in lexicographic order.
- Each entry contains only the location of the directory it describes,
- its name, and the location in the path table of its parent. This
- mechanism allows any directory to be accessed with only a single CD
- seek.
-
- Directories contain more detailed information than the path table.
- Each directory entry contains:
-
- Directory or file location.
- File length.
- Date and time of creation.
- Name of the file.
- Flags:
- Whether the entry is for a file or a directory.
- Whether or not it is an associated file.
- Whether or not it has records.
- Whether or not it has read protection.
- Whether or not it has subsequent extents.
- Interleave structure of the file.
-
- Interleaving may be used, for example, to meet realtime requirements
- for multiple files whose contents must be presented simultaneously.
- This would happen if a file containing graphic images were interleaved
- with a file containing compressed sound that describes the images.
-
- Files themselves are recorded in contiguous (or interleaved) blocks on
- the disc. The read-only nature of CD permits this contiguous
- recording in a straightforward manner. A file may also be recorded in
- a series of noncontiguous extents with a directory entry for each
- extent.
-
- The specification does not favor any particular computer architecture.
- In particular all significant, multibyte numbers are recorded twice,
- once with the most significant byte first and once with the least
- significant byte first.
-
-
- Multimedia Information
-
- Using the file system are applications that create and portray
- multimedia information. While it is true that a CD can store anything
- that a magnetic disk can store (and usually much more of it), CDs will
- be used more for storing information than for storing programs. It is
- the very large storage capacity of CDs coupled with their low cost
- that opens up the possibilities for interactive, multimedia
- information to be used in a multitude of ways.
-
- Programs like HyperCard, with it's ease of authoring and broad
- extensibility, are very useful for this purpose. Hypercard stacks,
- with related information such as color images and sound, can be easily
- and inexpensively stored on CDs despite their possibly very large
- size.
-
- Editorial: The High Sierra file system gets its name from the location
- of the first meeting on it: the High Sierra Hotel at Lake Tahoe. It
- is much more commonly referred to as ISO 9660, though the two
- specifications are slightly different.
-
- It has gotten very easy and inexpensive to make a CD-ROM disc (or
- audio CD). For example, you can now take a Macintosh hard disk and
- send it with $1500 to one of several CD pressers. They will send you
- back your hard disk and 100 CDs with exactly the same content as
- what's on your disk. This is the easy way to make CDs with capacity
- up to the size of your hard disk (Apple's go up to 160 megabytes).
- True, this is not a full CD but CDs don't need to be full. If you
- have just 10 megabytes and need 100 copies, CDs may be the best way to
- go.
-
- If you are buying a CD-ROM drive, there are several factors you might
- consider in making your choice. Two factors NOT to consider are
- capacity and data rate. The capacity of all CD-ROM drives is
- determined solely by the CD they are reading. Though you will see a
- range of numbers in manufacturers' specs (e.g. 540, 550, 600, and 650
- Mbytes), any drive can read any disc and so they are all fundamentally
- the same. All CD-ROM drives read data at a net 150 Kbytes/sec for
- CD-ROM data. Other data rates you may see may include error
- correction data (not included in the net rate) or may be a mode 2 data
- rate (faster than mode 1). All drives will be the same in all of
- these specs.
-
-
- End of article.
-